﻿using System;
using System.Windows;

namespace TfsUtils.Ui.Mvvm.SystemLayer
{
    /// <summary>
    /// Questa interfaccia viene usata per evitare che un ViewModel debba 
    /// conoscere la UI o dialogare direttamente con essa. QUando il ViewModel
    /// vuole mostrare messagebox o dialog di sistema, per evitare di comunicare
    /// con la UI è necessario passare per una itnerfaccia di facade.
    /// </summary>
	public interface ISystemDialogs
	{
		String OpenSingleFile();
        void ShowMessageBox(string message, string caption, MessageBoxImage icon);
        void ShowValidationFailure(string message);
        void ShowError(string message);
        bool AskQuestion(string questionText);
	}
}
